#include <iostream>

class Singleton
{
public:
    static Singleton* Instance()
	{
	    if(!pInstance)
		pInstance = new Singleton;
	    return pInstance;
	};
    void print()
	{
	    std::cout << "Hello World!" << std::endl;
	};
private:
    Singleton(){};
    static Singleton* pInstance;
};

Singleton* Singleton::pInstance = NULL;

int main(int argc, char *argv[])
{
    Singleton::Instance()->print();
    return 0;
};
